相信大家還沒有忘記第三天提到的可變與不可變變數,在 Kotlin 的集合裡面,也存在著相同概念。常見的集合 (Collection) 包含:列表 (List)、集 (Set)、對映 (Map),透過不同建立的呼叫方法,可以將他們生成為可變或不可變,接下來我們就來一一看這些資料結構要如何使用吧!
列表是元素 (Element (of the collection)) 有序排列的集合,我們可以透過元素存放的位置 (Index)(通常為整數數字) 取出列表中的元素。
下方範例是一個不可變列表,在生成的時候就需要先給定列表中有哪些元素存在。一經創立就無法再修改。
val exampleOfCollection = listOf("list", "map", "set")
下方範例是一個可變列表,除了生成的時候給的元素,我們可以在事後透過 add()
, remove()
, set()
等操作進行新增刪除與修改。
val exampleOfCollection = mutableListOf("list", "map", "set")
exampleOfCollection.remove("list"). // true
**注意:**讀者可能會有個疑問,為什麼上面的範例可以用 val
去接一個可變 (Mutable) 的列表?答案其實相當有邏輯,今天列表可變與否是當下這張列表本身的屬性,或者可以被視為是 這一張 列表自己的限制,而相同的 val
是針對 exampleOfCollection
這個變數的限制。所以這裡我們 必須 分開來看待這兩件事。